//program to illustrate a function friendly to two classes

#include<iostream.h>
#include<conio.h>

class ABC;


class XYZ
{
int x ;
public:
void setvalue(int l)
{
x=l;

}
friend void max(XYZ,ABC);
};

class ABC
{
int a ;

public:
void setvalue(int l)
{
a=l;
}

friend void max(XYZ,ABC);

};

void max(XYZm,ABCn)
{
if (m.x>=n.a)
cout<<m.x;
else
cout<<n.a;

}

void main()
{
clrscr();
ABC abc;

abc.setvalue(10);
XYZ xyz;
xyz.setvalue(20);
max(xyz,abc);

getch();

}
/* output
20
*/